100 CALL CLEAR::CALL SCREEN(15)::CALL COLOR(1,7,1)::P$="00FE000FE0EF"::FOR A=1 TO 7
110 CALL CHAR(32+A,RPT$(SEG$(P$,(A AND 1)*2+1,2),3)&"00"&RPT$(SEG$(P$,(A AND 6)+5,2),3))::NEXT A
120 FOR I=1 TO 1000::FOR A=0 TO 1::R=INT(RND*24)+1::C=INT(RND*(32-A))+1::CALL GCHAR(R,C,G)::CALL HCHAR(R,C,G OR (1+A))
130 IF A THEN CALL GCHAR(R,C+1,G)::CALL HCHAR(R,C+1,G OR 4)
140 NEXT A::NEXT I
Run time in XB (classic99, no overdrive etc): 7 MINS 27 SECS (447 SECS)


100 CALL CLEAR::CALL SCREEN(15)::CALL COLOR(1,7,1)
110 CALL CHAR(33,"FEFEFE")
120 CALL CHAR(34,"000000000F0F0F")
130 CALL CHAR(35,"FEFEFE000F0F0F")
140 CALL CHAR(36,"00000000E0E0E")
150 CALL CHAR(37,"FEFEFE00E0E0E")
160 CALL CHAR(38,"00000000EFEFEF")
170 CALL CHAR(39,"FEFEFE00EFEFEF")
REM TOP BRICK IN ROW
175 FOR I=1 TO 1000
180 R=INT(RND*24)+1::C=INT(RND*32)+1
190 CALL GCHAR(R,C,G)::CALL HCHAR(R,C,G OR 1)
REM LOWER BRICK IN ROW
200 R=INT(RND*24)+1::C=INT(RND*31)+1
210 CALL GCHAR(R,C,G)::CALL HCHAR(R,C,G OR 2)
220 CALL GCHAR(R,C+1,G)::CALL HCHAR(R,C+1,G OR 4)
230 NEXT I
Run time in XB (classic99, no overdrive etc): 6 MINS 12 SEC (372 SECS)




0 VALUE SEED  $8379 V@ TO SEED
: UDG  [ HEX ]
  DATA 4 FEFE FE00 0000 0000
  DATA 4 0000 0000 0F0F 0F00  DATA 4 FEFE FE00 0F0F 0F00
  DATA 4 0000 0000 E0E0 E000  DATA 4 FEFE FE00 E0E0 E000
  DATA 4 0000 0000 EFEF EF00  DATA 4 FEFE FE00 EFEF EF00
  [ DECIMAL ] 6 FOR I 33 + DCHAR NEXT ;
  
: RND SEED 31421 * 6927 @ + DUP TO SEED ;

: BRICKS
  1 GMODE  14 SCREEN  4 6 0 COLOR  UDG
  1000 FOR
    \ top brick in row
    RND 23 MOD 5 <<  RND 31 MOD  +
    DUP V@ 1 OR SWAP V!
    
    \ lower brick in row
    RND 23 MOD 5 <<  RND 31 MOD  +
    DUP DUP V@ 2 OR SWAP V!
    1+  DUP V@ 4 OR SWAP V!
  NEXT I  DROP ;
BRICKS
Run time in TF (classic99, no overdrive etc): 5 SECS

Making TF 74.4 times faster. (7440%)


